/**
 * Esta clase representa a un envio a abonar que se a generado
 * a traves de una venta a domicilio.
 */

package envios;

import exceptions.StatesException;
import exceptions.VentasException;
import ventas.VentaConEnvio;


/** 
 * @author Lucas Alan Silvestri.
 *
 */
public class EnvioAPagar extends Envio{

	/**
	 * Constructor.
	 * @param ventaRealizada - Venta realizada en la sucursal.
	 */
	public EnvioAPagar(VentaConEnvio ventaRealizada) {
		super(ventaRealizada);
	}
	
	/**
	 * Si el cliente compro algun producto, este se le sera entregado
	 * caso contrario, el envio sera cancelado.
	 * @throws StatesException
	 * @Param dinero es el dinero con el que pagara el cliente
	 * al recibir el envio.
	 * @param quienAtiende es la persona quien nos atiende en domicilio.
	 * @throws VentasException 
	 */
	 @Override
	 public void entregar() throws StatesException{
		 if(this.getVentaRealizada().seRealizoConExito()){
			 this.getEstado().entregarEnvio(this);
		 }
		 else{
			 this.cancelar();
		 }
	}
}
